#include "BulletCollision/NarrowPhaseCollision/btPersistentManifold.h"
#ifdef __cplusplus
extern "C" {
#endif
btPersistentManifoldFloatData* bullet_NewbtPersistentManifoldFloatData(){
	btPersistentManifoldFloatData* wrap_out = new btPersistentManifoldFloatData();
	return wrap_out;
}

btCollisionObjectFloatData** bullet_btPersistentManifoldFloatData_GetFieldOfM_body0(btPersistentManifoldFloatData* c_this){
	return (btCollisionObjectFloatData**)(&c_this->m_body0);
}

btCollisionObjectFloatData** bullet_btPersistentManifoldFloatData_GetFieldOfM_body1(btPersistentManifoldFloatData* c_this){
	return (btCollisionObjectFloatData**)(&c_this->m_body1);
}

int bullet_btPersistentManifoldFloatData_GetFieldOfM_companionIdA(btPersistentManifoldFloatData* c_this){
	return (int)(c_this->m_companionIdA);
}

int bullet_btPersistentManifoldFloatData_GetFieldOfM_companionIdB(btPersistentManifoldFloatData* c_this){
	return (int)(c_this->m_companionIdB);
}

float bullet_btPersistentManifoldFloatData_GetFieldOfM_contactBreakingThreshold(btPersistentManifoldFloatData* c_this){
	return (float)(c_this->m_contactBreakingThreshold);
}

float bullet_btPersistentManifoldFloatData_GetFieldOfM_contactProcessingThreshold(btPersistentManifoldFloatData* c_this){
	return (float)(c_this->m_contactProcessingThreshold);
}

int bullet_btPersistentManifoldFloatData_GetFieldOfM_index1a(btPersistentManifoldFloatData* c_this){
	return (int)(c_this->m_index1a);
}

int bullet_btPersistentManifoldFloatData_GetFieldOfM_numCachedPoints(btPersistentManifoldFloatData* c_this){
	return (int)(c_this->m_numCachedPoints);
}

int bullet_btPersistentManifoldFloatData_GetFieldOfM_objectType(btPersistentManifoldFloatData* c_this){
	return (int)(c_this->m_objectType);
}

int bullet_btPersistentManifoldFloatData_GetFieldOfM_padding(btPersistentManifoldFloatData* c_this){
	return (int)(c_this->m_padding);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheAppliedImpulse(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheAppliedImpulse);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheAppliedImpulseLateral1(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheAppliedImpulseLateral1);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheAppliedImpulseLateral2(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheAppliedImpulseLateral2);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheCombinedContactDamping1(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheCombinedContactDamping1);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheCombinedContactStiffness1(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheCombinedContactStiffness1);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheCombinedFriction(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheCombinedFriction);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheCombinedRestitution(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheCombinedRestitution);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheCombinedRollingFriction(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheCombinedRollingFriction);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheCombinedSpinningFriction(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheCombinedSpinningFriction);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheContactCFM(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheContactCFM);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheContactERP(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheContactERP);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheContactMotion1(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheContactMotion1);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheContactMotion2(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheContactMotion2);
}

int** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheContactPointFlags(btPersistentManifoldFloatData* c_this){
	return (int**)(&c_this->m_pointCacheContactPointFlags);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheDistance(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheDistance);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheFrictionCFM(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCacheFrictionCFM);
}

int** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheIndex0(btPersistentManifoldFloatData* c_this){
	return (int**)(&c_this->m_pointCacheIndex0);
}

int** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheIndex1(btPersistentManifoldFloatData* c_this){
	return (int**)(&c_this->m_pointCacheIndex1);
}

btVector3FloatData** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheLateralFrictionDir1(btPersistentManifoldFloatData* c_this){
	return (btVector3FloatData**)(&c_this->m_pointCacheLateralFrictionDir1);
}

btVector3FloatData** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheLateralFrictionDir2(btPersistentManifoldFloatData* c_this){
	return (btVector3FloatData**)(&c_this->m_pointCacheLateralFrictionDir2);
}

int** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheLifeTime(btPersistentManifoldFloatData* c_this){
	return (int**)(&c_this->m_pointCacheLifeTime);
}

btVector3FloatData** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheLocalPointA(btPersistentManifoldFloatData* c_this){
	return (btVector3FloatData**)(&c_this->m_pointCacheLocalPointA);
}

btVector3FloatData** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheLocalPointB(btPersistentManifoldFloatData* c_this){
	return (btVector3FloatData**)(&c_this->m_pointCacheLocalPointB);
}

btVector3FloatData** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCacheNormalWorldOnB(btPersistentManifoldFloatData* c_this){
	return (btVector3FloatData**)(&c_this->m_pointCacheNormalWorldOnB);
}

int** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCachePartId0(btPersistentManifoldFloatData* c_this){
	return (int**)(&c_this->m_pointCachePartId0);
}

int** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCachePartId1(btPersistentManifoldFloatData* c_this){
	return (int**)(&c_this->m_pointCachePartId1);
}

btVector3FloatData** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCachePositionWorldOnA(btPersistentManifoldFloatData* c_this){
	return (btVector3FloatData**)(&c_this->m_pointCachePositionWorldOnA);
}

btVector3FloatData** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCachePositionWorldOnB(btPersistentManifoldFloatData* c_this){
	return (btVector3FloatData**)(&c_this->m_pointCachePositionWorldOnB);
}

float** bullet_btPersistentManifoldFloatData_GetFieldOfM_pointCachePrevRHS(btPersistentManifoldFloatData* c_this){
	return (float**)(&c_this->m_pointCachePrevRHS);
}

btPersistentManifoldDoubleData* bullet_NewbtPersistentManifoldDoubleData(){
	btPersistentManifoldDoubleData* wrap_out = new btPersistentManifoldDoubleData();
	return wrap_out;
}

btCollisionObjectDoubleData** bullet_btPersistentManifoldDoubleData_GetFieldOfM_body0(btPersistentManifoldDoubleData* c_this){
	return (btCollisionObjectDoubleData**)(&c_this->m_body0);
}

btCollisionObjectDoubleData** bullet_btPersistentManifoldDoubleData_GetFieldOfM_body1(btPersistentManifoldDoubleData* c_this){
	return (btCollisionObjectDoubleData**)(&c_this->m_body1);
}

int bullet_btPersistentManifoldDoubleData_GetFieldOfM_companionIdA(btPersistentManifoldDoubleData* c_this){
	return (int)(c_this->m_companionIdA);
}

int bullet_btPersistentManifoldDoubleData_GetFieldOfM_companionIdB(btPersistentManifoldDoubleData* c_this){
	return (int)(c_this->m_companionIdB);
}

double bullet_btPersistentManifoldDoubleData_GetFieldOfM_contactBreakingThreshold(btPersistentManifoldDoubleData* c_this){
	return (double)(c_this->m_contactBreakingThreshold);
}

double bullet_btPersistentManifoldDoubleData_GetFieldOfM_contactProcessingThreshold(btPersistentManifoldDoubleData* c_this){
	return (double)(c_this->m_contactProcessingThreshold);
}

int bullet_btPersistentManifoldDoubleData_GetFieldOfM_index1a(btPersistentManifoldDoubleData* c_this){
	return (int)(c_this->m_index1a);
}

int bullet_btPersistentManifoldDoubleData_GetFieldOfM_numCachedPoints(btPersistentManifoldDoubleData* c_this){
	return (int)(c_this->m_numCachedPoints);
}

int bullet_btPersistentManifoldDoubleData_GetFieldOfM_objectType(btPersistentManifoldDoubleData* c_this){
	return (int)(c_this->m_objectType);
}

int bullet_btPersistentManifoldDoubleData_GetFieldOfM_padding(btPersistentManifoldDoubleData* c_this){
	return (int)(c_this->m_padding);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheAppliedImpulse(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheAppliedImpulse);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheAppliedImpulseLateral1(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheAppliedImpulseLateral1);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheAppliedImpulseLateral2(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheAppliedImpulseLateral2);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheCombinedContactDamping1(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheCombinedContactDamping1);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheCombinedContactStiffness1(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheCombinedContactStiffness1);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheCombinedFriction(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheCombinedFriction);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheCombinedRestitution(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheCombinedRestitution);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheCombinedRollingFriction(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheCombinedRollingFriction);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheCombinedSpinningFriction(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheCombinedSpinningFriction);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheContactCFM(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheContactCFM);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheContactERP(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheContactERP);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheContactMotion1(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheContactMotion1);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheContactMotion2(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheContactMotion2);
}

int** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheContactPointFlags(btPersistentManifoldDoubleData* c_this){
	return (int**)(&c_this->m_pointCacheContactPointFlags);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheDistance(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheDistance);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheFrictionCFM(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCacheFrictionCFM);
}

int** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheIndex0(btPersistentManifoldDoubleData* c_this){
	return (int**)(&c_this->m_pointCacheIndex0);
}

int** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheIndex1(btPersistentManifoldDoubleData* c_this){
	return (int**)(&c_this->m_pointCacheIndex1);
}

btVector3DoubleData** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheLateralFrictionDir1(btPersistentManifoldDoubleData* c_this){
	return (btVector3DoubleData**)(&c_this->m_pointCacheLateralFrictionDir1);
}

btVector3DoubleData** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheLateralFrictionDir2(btPersistentManifoldDoubleData* c_this){
	return (btVector3DoubleData**)(&c_this->m_pointCacheLateralFrictionDir2);
}

int** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheLifeTime(btPersistentManifoldDoubleData* c_this){
	return (int**)(&c_this->m_pointCacheLifeTime);
}

btVector3DoubleData** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheLocalPointA(btPersistentManifoldDoubleData* c_this){
	return (btVector3DoubleData**)(&c_this->m_pointCacheLocalPointA);
}

btVector3DoubleData** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheLocalPointB(btPersistentManifoldDoubleData* c_this){
	return (btVector3DoubleData**)(&c_this->m_pointCacheLocalPointB);
}

btVector3DoubleData** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCacheNormalWorldOnB(btPersistentManifoldDoubleData* c_this){
	return (btVector3DoubleData**)(&c_this->m_pointCacheNormalWorldOnB);
}

int** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCachePartId0(btPersistentManifoldDoubleData* c_this){
	return (int**)(&c_this->m_pointCachePartId0);
}

int** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCachePartId1(btPersistentManifoldDoubleData* c_this){
	return (int**)(&c_this->m_pointCachePartId1);
}

btVector3DoubleData** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCachePositionWorldOnA(btPersistentManifoldDoubleData* c_this){
	return (btVector3DoubleData**)(&c_this->m_pointCachePositionWorldOnA);
}

btVector3DoubleData** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCachePositionWorldOnB(btPersistentManifoldDoubleData* c_this){
	return (btVector3DoubleData**)(&c_this->m_pointCachePositionWorldOnB);
}

double** bullet_btPersistentManifoldDoubleData_GetFieldOfM_pointCachePrevRHS(btPersistentManifoldDoubleData* c_this){
	return (double**)(&c_this->m_pointCachePrevRHS);
}

btPersistentManifold* bullet_NewbtPersistentManifold(){
	btPersistentManifold* wrap_out = new btPersistentManifold();
	return wrap_out;
}

btPersistentManifold* bullet_NewbtPersistentManifold1(btCollisionObject* body0,btCollisionObject* body1,int tmp_arg2,double contactBreakingThreshold,double contactProcessingThreshold){
	btCollisionObject const * c_arg_body0=(btCollisionObject const *)(void*)(body0);
	btCollisionObject const * c_arg_body1=(btCollisionObject const *)(void*)(body1);
	int c_arg_tmp_arg2=tmp_arg2;
	btScalar c_arg_contactBreakingThreshold=contactBreakingThreshold;
	btScalar c_arg_contactProcessingThreshold=contactProcessingThreshold;
	btPersistentManifold* wrap_out = new btPersistentManifold(c_arg_body0,c_arg_body1,c_arg_tmp_arg2,c_arg_contactBreakingThreshold,c_arg_contactProcessingThreshold);
	return wrap_out;
}

int bullet_btPersistentManifold_addManifoldPoint(btPersistentManifold* c_this,btManifoldPoint* newPoint,bool isPredictive){
	btManifoldPoint const& c_arg_newPoint=(btManifoldPoint const&)(*newPoint);
	bool c_arg_isPredictive=isPredictive;
	int c_out = c_this->addManifoldPoint(c_arg_newPoint,c_arg_isPredictive);
	int wrap_out = (c_out);
	return wrap_out;
}

int bullet_btPersistentManifold_calculateSerializeBufferSize(btPersistentManifold* c_this){
	int c_out = c_this->calculateSerializeBufferSize();
	int wrap_out = (c_out);
	return wrap_out;
}

void bullet_btPersistentManifold_clearManifold(btPersistentManifold* c_this){
	c_this->clearManifold();
}

void bullet_btPersistentManifold_clearUserCache(btPersistentManifold* c_this,btManifoldPoint* pt){
	btManifoldPoint& c_arg_pt=(btManifoldPoint&)(*pt);
	c_this->clearUserCache(c_arg_pt);
}

void bullet_btPersistentManifold_deSerialize(btPersistentManifold* c_this,btPersistentManifoldDoubleData* manifoldDataPtr){
	btPersistentManifoldDoubleData const * c_arg_manifoldDataPtr=(btPersistentManifoldDoubleData const *)(void*)(manifoldDataPtr);
	c_this->deSerialize(c_arg_manifoldDataPtr);
}

void bullet_btPersistentManifold_deSerialize1(btPersistentManifold* c_this,btPersistentManifoldFloatData* manifoldDataPtr){
	btPersistentManifoldFloatData const * c_arg_manifoldDataPtr=(btPersistentManifoldFloatData const *)(void*)(manifoldDataPtr);
	c_this->deSerialize(c_arg_manifoldDataPtr);
}

btCollisionObject* bullet_btPersistentManifold_getBody0(btPersistentManifold* c_this){
	btCollisionObject const * c_out = c_this->getBody0();
	btCollisionObject* wrap_out = (btCollisionObject*)(void*)(c_out);
	return wrap_out;
}

btCollisionObject* bullet_btPersistentManifold_getBody1(btPersistentManifold* c_this){
	btCollisionObject const * c_out = c_this->getBody1();
	btCollisionObject* wrap_out = (btCollisionObject*)(void*)(c_out);
	return wrap_out;
}

int bullet_btPersistentManifold_getCacheEntry(btPersistentManifold* c_this,btManifoldPoint* newPoint){
	btManifoldPoint const& c_arg_newPoint=(btManifoldPoint const&)(*newPoint);
	int c_out = c_this->getCacheEntry(c_arg_newPoint);
	int wrap_out = (c_out);
	return wrap_out;
}

double bullet_btPersistentManifold_getContactBreakingThreshold(btPersistentManifold* c_this){
	btScalar c_out = c_this->getContactBreakingThreshold();
	double wrap_out = (c_out);
	return wrap_out;
}

btManifoldPoint* bullet_btPersistentManifold_getContactPoint(btPersistentManifold* c_this,int index){
	int c_arg_index=index;
	btManifoldPoint const& c_out = c_this->getContactPoint(c_arg_index);
	btManifoldPoint* wrap_out = (btManifoldPoint*)(&c_out);
	return wrap_out;
}

btManifoldPoint* bullet_btPersistentManifold_getContactPoint1(btPersistentManifold* c_this,int index){
	int c_arg_index=index;
	btManifoldPoint& c_out = c_this->getContactPoint(c_arg_index);
	btManifoldPoint* wrap_out = (btManifoldPoint*)(&c_out);
	return wrap_out;
}

double bullet_btPersistentManifold_getContactProcessingThreshold(btPersistentManifold* c_this){
	btScalar c_out = c_this->getContactProcessingThreshold();
	double wrap_out = (c_out);
	return wrap_out;
}

int bullet_btPersistentManifold_GetFieldOfM_companionIdA(btPersistentManifold* c_this){
	return (int)(c_this->m_companionIdA);
}

int bullet_btPersistentManifold_GetFieldOfM_companionIdB(btPersistentManifold* c_this){
	return (int)(c_this->m_companionIdB);
}

int bullet_btPersistentManifold_GetFieldOfM_index1a(btPersistentManifold* c_this){
	return (int)(c_this->m_index1a);
}

int bullet_btPersistentManifold_getNumContacts(btPersistentManifold* c_this){
	int c_out = c_this->getNumContacts();
	int wrap_out = (c_out);
	return wrap_out;
}

void bullet_btPersistentManifold_refreshContactPoints(btPersistentManifold* c_this,btTransform* trA,btTransform* trB){
	btTransform const& c_arg_trA=(btTransform const&)(*trA);
	btTransform const& c_arg_trB=(btTransform const&)(*trB);
	c_this->refreshContactPoints(c_arg_trA,c_arg_trB);
}

void bullet_btPersistentManifold_removeContactPoint(btPersistentManifold* c_this,int index){
	int c_arg_index=index;
	c_this->removeContactPoint(c_arg_index);
}

void bullet_btPersistentManifold_replaceContactPoint(btPersistentManifold* c_this,btManifoldPoint* newPoint,int insertIndex){
	btManifoldPoint const& c_arg_newPoint=(btManifoldPoint const&)(*newPoint);
	int c_arg_insertIndex=insertIndex;
	c_this->replaceContactPoint(c_arg_newPoint,c_arg_insertIndex);
}

char* bullet_btPersistentManifold_serialize(btPersistentManifold* c_this,btPersistentManifold* manifold,void* dataBuffer,btSerializer* serializer){
	btPersistentManifold const * c_arg_manifold=(btPersistentManifold const *)(void*)(manifold);
	void * c_arg_dataBuffer=(void *)(void*)(dataBuffer);
	btSerializer * c_arg_serializer=(btSerializer *)(void*)(serializer);
	char const * c_out = c_this->serialize(c_arg_manifold,c_arg_dataBuffer,c_arg_serializer);
	char* wrap_out = (char*)(void*)(c_out);
	return wrap_out;
}

void bullet_btPersistentManifold_setBodies(btPersistentManifold* c_this,btCollisionObject* body0,btCollisionObject* body1){
	btCollisionObject const * c_arg_body0=(btCollisionObject const *)(void*)(body0);
	btCollisionObject const * c_arg_body1=(btCollisionObject const *)(void*)(body1);
	c_this->setBodies(c_arg_body0,c_arg_body1);
}

void bullet_btPersistentManifold_setContactBreakingThreshold(btPersistentManifold* c_this,double contactBreakingThreshold){
	btScalar c_arg_contactBreakingThreshold=contactBreakingThreshold;
	c_this->setContactBreakingThreshold(c_arg_contactBreakingThreshold);
}

void bullet_btPersistentManifold_setContactProcessingThreshold(btPersistentManifold* c_this,double contactProcessingThreshold){
	btScalar c_arg_contactProcessingThreshold=contactProcessingThreshold;
	c_this->setContactProcessingThreshold(c_arg_contactProcessingThreshold);
}

void bullet_btPersistentManifold_setNumContacts(btPersistentManifold* c_this,int cachedPoints){
	int c_arg_cachedPoints=cachedPoints;
	c_this->setNumContacts(c_arg_cachedPoints);
}

bool bullet_btPersistentManifold_validContactDistance(btPersistentManifold* c_this,btManifoldPoint* pt){
	btManifoldPoint const& c_arg_pt=(btManifoldPoint const&)(*pt);
	bool c_out = c_this->validContactDistance(c_arg_pt);
	bool wrap_out = (c_out);
	return wrap_out;
}

#ifdef __cplusplus
}
#endif
